#!/bin/bash

# 定义测试消息数组
test_messages=(
    "Hello, Server!"
    "This is a test message."
    "1234567890"
    "Linux Socket Programming"
    "Non-blocking I/O demo"
    "TCP Echo Server Test"
    "Goodbye!"
)

# 启动6个并行客户端
for i in {1..6}; do
  (
    echo "=== 客户端 $i 开始测试 ==="
    
    # 为每个客户端选择不同的测试消息
    msg_index=$(( (i-1) % ${#test_messages[@]} ))
    test_msg="${test_messages[$msg_index]}"
    
    # 发送测试消息并接收响应
    echo "发送: $test_msg"
    response=$(echo "$test_msg" | nc -w 3 localhost 8080)
    
    # 验证响应
    if [ "$response" == "$test_msg" ]; then
        echo "测试成功: 收到正确回声"
    else
        echo "测试失败: 期望 '$test_msg', 实际 '$response'"
    fi
    
    echo "=== 客户端 $i 测试结束 ==="
  ) &
done

# 等待所有后台进程完成
wait
echo "所有客户端测试完成"